#ifndef POINT_H
#define POINT_H


class Point
{
public:
// Constructor uses default arguments to allow calling with zero, one,
// or two values.
	Point(const int = 0, const int = 0);
	Point(const Point &);
	//Set Point
	Point & operator()(int ,int );
	Point & operator()(Point & );

	// Extractors.
	int x() const;
	int y() const;
	int getQuadrate() const;	// returns the quadrate of the point
	double dist(const Point & ) const;	// Distance to another point.  Pythagorean thm.
	double angle(const int ,const int ) const;
	double angle(Point ) const;

	// Add or subtract two points.
	Point operator+(const Point & );
	Point operator-(const Point & );
	bool operator==(const Point & );
	double operator%(const Point &);

	Point & add(int , int ); // Move the existing point.

private:
	int xPos;
	int yPos;
};

#endif